home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / MPW Interfaces & Libraries / PInterfaces / Terminals.p < prev    next >
Encoding:
Text File  |  1992-01-29  |  6.9 KB  |  267 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Thursday, September 12, 1991 at 10:33 AM
  4.  Terminals.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1988-1991
  8.   All rights reserved
  9. }
  10.  
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.  UNIT Terminals;
  18.  INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingTerminals}
  22. {$SETC UsingTerminals := 1}
  23.  
  24. {$I+}
  25. {$SETC TerminalsIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingDialogs}
  28. {$I $$Shell(PInterfaces)Dialogs.p}
  29. {$ENDC}
  30. {$IFC UNDEFINED UsingCTBUtilities}
  31. {$I $$Shell(PInterfaces)CTBUtilities.p}
  32. {$ENDC}
  33. {$IFC UNDEFINED UsingConnections}
  34. {$I $$Shell(PInterfaces)Connections.p}
  35. {$ENDC}
  36. {$SETC UsingIncludes := TerminalsIncludes}
  37.  
  38. CONST
  39.  
  40. { current Terminal Manager version }
  41. curTMVersion = 2;
  42.  
  43. { current Terminal Manager Environment Record version }
  44. curTermEnvRecVers = 0;
  45.  
  46. { error codes    }
  47. tmGenericError = -1;
  48. tmNoErr = 0;
  49. tmNotSent = 1;
  50. tmEnvironsChanged = 2;
  51. tmNotSupported = 7;
  52. tmNoTools = 8;
  53.  
  54. TYPE
  55. TMErr = OSErr;
  56.  
  57. CONST
  58.  
  59. { TMFlags }
  60. tmInvisible = $00000001;
  61. tmSaveBeforeClear = $00000002;
  62. tmNoMenus = $00000004;
  63. tmAutoScroll = $00000008;
  64. tmConfigChanged = $00000010;
  65.  
  66. TYPE
  67. {  TMFlags   }
  68. TMFlags = LONGINT;
  69.  
  70.  
  71. CONST
  72.  
  73. { TMSelTypes & TMSearchTypes }
  74. selTextNormal = $0001;
  75. selTextBoxed = $0002;
  76. selGraphicsMarquee = $0004;
  77. selGraphicsLasso = $0008;
  78. tmSearchNoDiacrit = $0100;    {These are only for TMSearchTypes}
  79. tmSearchNoCase = $0200;        {These are only for TMSearchTypes}
  80.  
  81. TYPE
  82. {  TMSelTypes & TMSearchTypes  }
  83. TMSearchTypes = INTEGER;
  84.  
  85.  
  86. TMSelTypes = INTEGER;
  87.  
  88. CONST
  89.  
  90. { TMCursorTypes }
  91. cursorText = 1;
  92. cursorGraphics = 2;
  93.  
  94. TYPE
  95. TMCursorTypes = INTEGER;
  96.  
  97.  
  98. CONST
  99.  
  100. { TMTermTypes }
  101. tmTextTerminal = $0001;
  102. tmGraphicsTerminal = $0002;
  103.  
  104. TYPE
  105. {  TMTermTypes   }
  106. TMTermTypes = INTEGER;
  107.  
  108.  
  109. TermDataBlockPtr = ^TermDataBlock;
  110. TermDataBlockH = ^TermDataBlockPtr;
  111. TermDataBlock = RECORD
  112.  flags: TMTermTypes;
  113.  theData: Handle;
  114.  auxData: Handle;
  115.  reserved: LONGINT;
  116.  END;
  117.  
  118. TermEnvironPtr = ^TermEnvironRec;
  119. TermEnvironRec = RECORD
  120.  version: INTEGER;
  121.  termType: TMTermTypes;
  122.  textRows: INTEGER;
  123.  textCols: INTEGER;
  124.  cellSize: Point;
  125.  graphicSize: Rect;
  126.  slop: Point;
  127.  auxSpace: Rect;
  128.  END;
  129.  
  130. TMSelection = RECORD
  131.  CASE INTEGER OF
  132.  1: (selRect: Rect);
  133.  2: (selRgnHandle: RgnHandle;
  134.  filler: LONGINT);
  135.  END;
  136.  
  137. {    TMTermTypes     }
  138. TermPtr = ^TermRecord;
  139. TermHandle = ^TermPtr;
  140. TermRecord = RECORD
  141.  procID: INTEGER;
  142.  flags: TMFlags;
  143.  errCode: TMErr;
  144.  refCon: LONGINT;
  145.  userData: LONGINT;
  146.  defProc: ProcPtr;
  147.  config: Ptr;
  148.  oldConfig: Ptr;
  149.  environsProc: ProcPtr;
  150.  reserved1: LONGINT;
  151.  reserved2: LONGINT;
  152.  tmPrivate: Ptr;
  153.  sendProc: ProcPtr;
  154.  breakProc: ProcPtr;
  155.  cacheProc: ProcPtr;
  156.  clikLoop: ProcPtr;
  157.  owner: WindowPtr;
  158.  termRect: Rect;
  159.  viewRect: Rect;
  160.  visRect: Rect;
  161.  lastIdle: LONGINT;
  162.  selection: TMSelection;
  163.  selType: TMSelTypes;
  164.  mluField: LONGINT;
  165.  END;
  166.  
  167.  
  168. { application routines type definitions }
  169. TerminalSendProcPtr = ProcPtr;
  170. TerminalBreakProcPtr = ProcPtr;
  171. TerminalCacheProcPtr = ProcPtr;
  172. TerminalSearchCallBackProcPtr = ProcPtr;
  173. TerminalClikLoopProcPtr = ProcPtr;
  174. TerminalEnvironsProcPtr = ProcPtr;
  175. TerminalChooseIdleProcPtr = ProcPtr;
  176.  
  177. FUNCTION InitTM: TMErr;
  178. FUNCTION TMGetVersion(hTerm: TermHandle): Handle;
  179. FUNCTION TMGetTMVersion: INTEGER;
  180.  
  181. FUNCTION TMNew(termRect: Rect;viewRect: Rect;flags: TMFlags;procID: INTEGER;
  182.  owner: WindowPtr;sendProc: TerminalSendProcPtr;cacheProc: TerminalCacheProcPtr;
  183.  breakProc: TerminalBreakProcPtr;clikLoop: TerminalClikLoopProcPtr;environsProc: TerminalEnvironsProcPtr;
  184.  refCon: LONGINT;userData: LONGINT): TermHandle;
  185.  
  186. PROCEDURE TMDispose(hTerm: TermHandle);
  187.  
  188. PROCEDURE TMKey(hTerm: TermHandle;theEvent: EventRecord);
  189. PROCEDURE TMUpdate(hTerm: TermHandle;visRgn: RgnHandle);
  190. PROCEDURE TMPaint(hTerm: TermHandle;theTermData: TermDataBlock;theRect: Rect);
  191. PROCEDURE TMActivate(hTerm: TermHandle;activate: BOOLEAN);
  192. PROCEDURE TMResume(hTerm: TermHandle;resume: BOOLEAN);
  193. PROCEDURE TMClick(hTerm: TermHandle;theEvent: EventRecord);
  194. PROCEDURE TMIdle(hTerm: TermHandle);
  195.  
  196. FUNCTION TMStream(hTerm: TermHandle;theBuffer: Ptr;theLength: LONGINT;flags: CMFlags): LONGINT;
  197. FUNCTION TMMenu(hTerm: TermHandle;menuID: INTEGER;item: INTEGER): BOOLEAN;
  198.  
  199. PROCEDURE TMReset(hTerm: TermHandle);
  200. PROCEDURE TMClear(hTerm: TermHandle);
  201.  
  202. PROCEDURE TMResize(hTerm: TermHandle;newViewRect: Rect);
  203.  
  204. FUNCTION TMGetSelect(hTerm: TermHandle;theData: Handle;VAR theType: ResType): LONGINT;
  205. PROCEDURE TMGetLine(hTerm: TermHandle;lineNo: INTEGER;VAR theTermData: TermDataBlock);
  206. PROCEDURE TMSetSelection(hTerm: TermHandle;theSelection: TMSelection;selType: TMSelTypes);
  207.  
  208. PROCEDURE TMScroll(hTerm: TermHandle;dh: INTEGER;dv: INTEGER);
  209.  
  210. FUNCTION TMValidate(hTerm: TermHandle): BOOLEAN;
  211. PROCEDURE TMDefault(VAR theConfig: Ptr;procID: INTEGER;allocate: BOOLEAN);
  212.  
  213. FUNCTION TMSetupPreflight(procID: INTEGER;VAR magicCookie: LONGINT): Handle;
  214. PROCEDURE TMSetupSetup(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
  215.  VAR magicCookie: LONGINT);
  216. FUNCTION TMSetupFilter(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
  217.  VAR theEvent: EventRecord;VAR theItem: INTEGER;VAR magicCookie: LONGINT): BOOLEAN;
  218. PROCEDURE TMSetupItem(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
  219.  VAR theItem: INTEGER;VAR magicCookie: LONGINT);
  220. PROCEDURE TMSetupXCleanup(procID: INTEGER;theConfig: Ptr;count: INTEGER;
  221.  theDialog: DialogPtr;OKed: BOOLEAN;VAR magicCookie: LONGINT);
  222. PROCEDURE TMSetupPostflight(procID: INTEGER);
  223.  
  224. FUNCTION TMGetConfig(hTerm: TermHandle): Ptr;
  225. FUNCTION TMSetConfig(hTerm: TermHandle;thePtr: Ptr): INTEGER;
  226.  
  227. FUNCTION TMIntlToEnglish(hTerm: TermHandle;inputPtr: Ptr;VAR outputPtr: Ptr;
  228.  language: INTEGER): OSErr;
  229. FUNCTION TMEnglishToIntl(hTerm: TermHandle;inputPtr: Ptr;VAR outputPtr: Ptr;
  230.  language: INTEGER): OSErr;
  231.  
  232. PROCEDURE TMGetToolName(id: INTEGER;VAR name: Str255);
  233. FUNCTION TMGetProcID(name: Str255): INTEGER;
  234.  
  235. PROCEDURE TMSetRefCon(hTerm: TermHandle;refCon: LONGINT);
  236. FUNCTION TMGetRefCon(hTerm: TermHandle): LONGINT;
  237.  
  238. PROCEDURE TMSetUserData(hTerm: TermHandle;userData: LONGINT);
  239. FUNCTION TMGetUserData(hTerm: TermHandle): LONGINT;
  240.  
  241. FUNCTION TMAddSearch(hTerm: TermHandle;theString: Str255;where: Rect;searchType: TMSearchTypes;
  242.  callBack: TerminalSearchCallBackProcPtr): INTEGER;
  243. PROCEDURE TMRemoveSearch(hTerm: TermHandle;refnum: INTEGER);
  244. PROCEDURE TMClearSearch(hTerm: TermHandle);
  245.  
  246. FUNCTION TMGetCursor(hTerm: TermHandle;cursType: TMCursorTypes): Point;
  247.  
  248. FUNCTION TMGetTermEnvirons(hTerm: TermHandle;VAR theEnvirons: TermEnvironRec): TMErr;
  249.  
  250. FUNCTION TMChoose(VAR hTerm: TermHandle;where: Point;idleProc: TerminalChooseIdleProcPtr): INTEGER;
  251.  
  252. PROCEDURE TMEvent(hTerm: TermHandle;theEvent: EventRecord);
  253.  
  254. FUNCTION TMDoTermKey(hTerm: TermHandle;theKey: Str255): BOOLEAN;
  255. FUNCTION TMCountTermKeys(hTerm: TermHandle): INTEGER;
  256. PROCEDURE TMGetIndTermKey(hTerm: TermHandle;id: INTEGER;VAR theKey: Str255);
  257.  
  258. PROCEDURE TMGetErrorString(hTerm: TermHandle;id: INTEGER;VAR errMsg: Str255);
  259.  
  260.  
  261. {$ENDC} { UsingTerminals }
  262.  
  263. {$IFC NOT UsingIncludes}
  264.  END.
  265. {$ENDC}
  266.  
  267.